/**
 * Project Name:fire-industry-DM-center
 * File Name:DmMapBrand.java
 * Package Name:com.firestone.bean.entity.elasticsearch.dm
 * Date:2018年4月18日上午11:07:26
 *
*/

package com.firestone.bean.entity.elasticsearch.dm;

import java.io.Serializable;
import java.util.List;

import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.DateFormat;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;
import org.springframework.data.elasticsearch.annotations.Setting;

import com.firestone.bean.entity.elasticsearch.nested.DescribeList;
import com.firestone.bean.entity.elasticsearch.nested.Flow;
import com.firestone.bean.entity.elasticsearch.nested.WeightJson;

/**
 * @Description: TODO(商标表)
 * @author lvxc
 * @date 2018年4月18日 上午11:07:26
 */
@Document(indexName = "dm_map_brand", type = "index", createIndex = false)
@Setting(settingPath = "/setting/setting.json")
public class DmMapBrand implements Serializable{
    private static final long serialVersionUID = 1L;
    
    @Id
    private String id;

    /**
     * @Fields SYS_add_time : TODO(添加时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_add_time;

    /**
     * @Fields SYS_check_time : TODO(检验时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_check_time;

    /**
     * @Fields SYS_dm_update_time : TODO(更改时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_dm_update_time;
    
    /**
     * @Fields agent : TODO(代理人)
     */
    @Field(type = FieldType.keyword)
    private String agent;
    
    /**
     * @Fields announcement_date : TODO(注册公告日期)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd")
    private String announcement_date;
    
    /**
     * @Fields announcement_num : TODO(注册公告期号)
     */
    @Field(type = FieldType.keyword)
    private String announcement_num;
    
    /**
     * @Fields applicant_address_chi : TODO(申请人地址中文)
     */
    @Field(type = FieldType.keyword)
    private String applicant_address_chi;
    
    /**
     * @Fields applicant_address_eng : TODO(申请人地址英)
     */
    @Field(type = FieldType.keyword)
    private String applicant_address_eng;
    
    /**
     * @Fields applicant_name_chi : TODO(申请人名称中文)
     */
    @Field(type = FieldType.keyword)
    private String applicant_name_chi;
    
    /**
     * @Fields applicant_name_eng : TODO(申请人名称英文)
     */
    @Field(type = FieldType.keyword)
    private String applicant_name_eng;
    
    /**
     * @Fields class_num : TODO(分类号)
     */
    @Field(type = FieldType.keyword)
    private String class_num;
    
    /**
     * @Fields common_brand : TODO(是否共有商标)
     */
    @Field(type = FieldType.keyword)
    private String common_brand;
    
    /**
     * @Fields address : TODO(商品服务列表)
     */
    @Field(type = FieldType.Nested)
    private List<DescribeList> describe_list;
    
    /**
     * @Fields ext_company : 
     */
    @Field(type = FieldType.text ,analyzer="tab_analyzer")
    private String ext_company;
    
    /**
     * @Fields address : TODO(商标状态流程)
     */
    @Field(type = FieldType.Nested)
    private List<Flow> flow;
    
    /**
     * @Fields iconurl : TODO(图像)
     */
    @Field(type = FieldType.keyword)
    private String iconurl;
    
    /**
     * @Fields inter_reg_date : TODO(国际注册日期)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd")
    private String inter_reg_date;
    
    /**
     * @Fields late_specified_date : TODO(后期指定日期)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd")
    private String late_specified_date;
    
    /**
     * @Fields name : TODO(商标名)
     */
    @Field(type = FieldType.keyword)
    private String name;
    
    /**
     * @Fields preliminary_date : TODO(初审公告日期)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd")
    private String preliminary_date;
    
    /**
     * @Fields preliminary_num : TODO(初审公告期号)
     */
    @Field(type = FieldType.keyword)
    private String preliminary_num;
    
    /**
     * @Fields priority_date : TODO(优先权日期)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd")
    private String priority_date;
    
    /**
     * @Fields reg_date : TODO(申请时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd")
    private String reg_date;
    
    /**
     * @Fields reg_num : TODO(注册号)
     */
    @Field(type = FieldType.keyword)
    private String reg_num;
    
    /**
     * @Fields similar_group : TODO(类似群)
     */
    @Field(type = FieldType.keyword)
    private String similar_group;
    
    /**
     * @Fields type : TODO(商标类型)
     */
    @Field(type = FieldType.keyword)
    private String type;
    
    /**
     * @Fields unique_period : TODO(专用期限)
     */
    @Field(type = FieldType.keyword)
    private String unique_period;
    
    /**
     * @Fields weight_json : TODO(字段来源)
     */
    @Field(type = FieldType.Nested)
    private List<WeightJson> weight_json;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getSYS_add_time() {
        return SYS_add_time;
    }

    public void setSYS_add_time(String sYS_add_time) {
        SYS_add_time = sYS_add_time;
    }

    public String getSYS_check_time() {
        return SYS_check_time;
    }

    public void setSYS_check_time(String sYS_check_time) {
        SYS_check_time = sYS_check_time;
    }

    public String getSYS_dm_update_time() {
        return SYS_dm_update_time;
    }

    public void setSYS_dm_update_time(String sYS_dm_update_time) {
        SYS_dm_update_time = sYS_dm_update_time;
    }

    public String getAgent() {
        return agent;
    }

    public void setAgent(String agent) {
        this.agent = agent;
    }

    public String getAnnouncement_date() {
        return announcement_date;
    }

    public void setAnnouncement_date(String announcement_date) {
        this.announcement_date = announcement_date;
    }

    public String getAnnouncement_num() {
        return announcement_num;
    }

    public void setAnnouncement_num(String announcement_num) {
        this.announcement_num = announcement_num;
    }

    public String getApplicant_address_chi() {
        return applicant_address_chi;
    }

    public void setApplicant_address_chi(String applicant_address_chi) {
        this.applicant_address_chi = applicant_address_chi;
    }

    public String getApplicant_address_eng() {
        return applicant_address_eng;
    }

    public void setApplicant_address_eng(String applicant_address_eng) {
        this.applicant_address_eng = applicant_address_eng;
    }

    public String getApplicant_name_chi() {
        return applicant_name_chi;
    }

    public void setApplicant_name_chi(String applicant_name_chi) {
        this.applicant_name_chi = applicant_name_chi;
    }

    public String getApplicant_name_eng() {
        return applicant_name_eng;
    }

    public void setApplicant_name_eng(String applicant_name_eng) {
        this.applicant_name_eng = applicant_name_eng;
    }

    public String getClass_num() {
        return class_num;
    }

    public void setClass_num(String class_num) {
        this.class_num = class_num;
    }

    public String getCommon_brand() {
        return common_brand;
    }

    public void setCommon_brand(String common_brand) {
        this.common_brand = common_brand;
    }

    public List<DescribeList> getDescribe_list() {
        return describe_list;
    }

    public void setDescribe_list(List<DescribeList> describe_list) {
        this.describe_list = describe_list;
    }

    public String getExt_company() {
        return ext_company;
    }

    public void setExt_company(String ext_company) {
        this.ext_company = ext_company;
    }

    public List<Flow> getFlow() {
        return flow;
    }

    public void setFlow(List<Flow> flow) {
        this.flow = flow;
    }

    public String getIconurl() {
        return iconurl;
    }

    public void setIconurl(String iconurl) {
        this.iconurl = iconurl;
    }

    public String getInter_reg_date() {
        return inter_reg_date;
    }

    public void setInter_reg_date(String inter_reg_date) {
        this.inter_reg_date = inter_reg_date;
    }

    public String getLate_specified_date() {
        return late_specified_date;
    }

    public void setLate_specified_date(String late_specified_date) {
        this.late_specified_date = late_specified_date;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPreliminary_date() {
        return preliminary_date;
    }

    public void setPreliminary_date(String preliminary_date) {
        this.preliminary_date = preliminary_date;
    }

    public String getPreliminary_num() {
        return preliminary_num;
    }

    public void setPreliminary_num(String preliminary_num) {
        this.preliminary_num = preliminary_num;
    }

    public String getPriority_date() {
        return priority_date;
    }

    public void setPriority_date(String priority_date) {
        this.priority_date = priority_date;
    }

    public String getReg_date() {
        return reg_date;
    }

    public void setReg_date(String reg_date) {
        this.reg_date = reg_date;
    }

    public String getReg_num() {
        return reg_num;
    }

    public void setReg_num(String reg_num) {
        this.reg_num = reg_num;
    }

    public String getSimilar_group() {
        return similar_group;
    }

    public void setSimilar_group(String similar_group) {
        this.similar_group = similar_group;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getUnique_period() {
        return unique_period;
    }

    public void setUnique_period(String unique_period) {
        this.unique_period = unique_period;
    }

    public List<WeightJson> getWeight_json() {
        return weight_json;
    }

    public void setWeight_json(List<WeightJson> weight_json) {
        this.weight_json = weight_json;
    }
    
}

